#define _CRT_SECURE_NO_WARNINGS 1
//#include<iostream>
//using namespace std;
//
//int ret(int n,int m)
//{
//    int r = 0;
//    while (n>0)
//    {
//        n -= m;
//        r += 2;
//    }
//    return r;
//}
//int main()
//{
//    int t, n, m;
//    cin >> t;
//    while (t--)
//    {
//        cin >> n >> m;
//        if (m == 1)
//            cout << -1 << endl;
//        else
//            cout << ret(n-m,m-1)+1 << endl;
//    }
//    return 0;
//}
//#include<iostream>
//using namespace std;
//
//int ret(int n, int m)
//{
//    long long int r = 0;
//    while (n > 0)
//    {
//        n -= m;
//        r += 2;
//    }
//    return r;
//}
int main()
{
    long long int t, n, m;
    cin >> t;
    while (t--)
    {
        cin >> n >> m;
        if (m == 1)
            cout << -1 << endl;
        else if (m >= n)
            cout << 1 << endl;
        else
        {
            int ret = 0;
            if ((n - m) / (m - 1) == 0)
                ret = ((n - m) / (m - 1) + 1) * 2 + 1;
            else
                ret = ((n - m) / (m - 1)) * 2 + 1;
            cout << ret << endl;
        }
    }
    return 0;
}
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int n, k;
        cin >> n >> k;
        string x;
        cin >> x;
        sort(x.begin(), x.end());
        int num = x.size();
        int fast = 1;
        int slow = 1;
        while (fast < num)
        {
            if (x[fast] != x[fast - 1])
                x[slow++] = x[fast];
            fast++;
        }
        /*if (slow <= k)
        {
            cout << "YES" << endl;
        }
        else
            cout << "NO" << endl;*/
    }
    return 0;
}